Transaction Polymorphism in Java

نویسندگان

  • Vincent Gramoli
  • Rachid Guerraoui
چکیده

Concurrent implementations of abstract types usually rely on lock-free primitives or locks and are highly tuned to support a finite set of efficient operations. However, it is very hard to extend such types for specific needs by adding new operations. The synchronization based on memory transactions, which is generally less efficient than based on lock-free primitives or locks, has been proposed in part to address this issue by ensuring that any set of transactional operations can run concurrently. This paper introduces transaction polymorphism, a synchronization technique that consists of providing more control to the programmer than traditional (monomorphic) transactions to achieve comparable performance to generic lock-based and lock-free solutions. We show in this paper that, maybe unsurprisingly, monomorphic transactions cannot reach the level of concurrency obtained with locks. As a drawback of sharing the same semantics that needs to be strong enough for various operations, monomorphic transactions seriously underutilize the concurrency potential of such operations. We describe a Java polymorphic transactional memory that includes three distinct transaction types, which we compare against four existing (monomorphic) STMs, as well as against existing lock-based and lock-free synchronization on a collection micro-benchmark and on the STMBench7 macrobenchmark. Our results show that polymorphism can be at least 2.4 times faster than any of these alternatives on 64 threads.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal Reasoning About Non-atomic Java Card Methods in Dynamic Logic

We present an extension to JAVA CARD Dynamic Logic, a program logic for reasoning about JAVA CARD programs, to handle JAVA CARD’s so-called non-atomic methods. Although JAVA CARD DL already supports the atomic transaction mechanism of JAVA CARD, non-atomic methods present an additional challenge: state updates triggered by such a non-atomic method are not subjected to any transaction that may p...

متن کامل

A Component-Based Approach to Compose Transaction Standards

This paper tackles the problem of composition of transaction services, which are governed by various transaction standards. Among others, we can cite the Object Transaction Service, Java Transaction Service, or Web Services Atomic Transaction. However, the Web Services Atomic Transaction standard encloses legacy transaction standards to support the Web Services application platform. This encaps...

متن کامل

Transactions in Java Card

A smart card runtime environment must provide the proper transaction support for the reliable update of data, especially on multiapplication cards like the Java Card. The transaction mechanism must meet the demands by the applications and the system itself within the minimal resources offered by current smart card hardware. This paper presents the current transaction model implied by the Java C...

متن کامل

Reflective Java and A Reflective Component-Based Transaction Architecture

In this paper, we first give a brief introduction to our Reflective Java technology. Then we describe our work on using Reflective Java to implement a flexible transaction architecture that meets the needs of Internet applications. Finally, we report some of our experience, particularly our two-layer approach on constructing metaobjects.

متن کامل

Interconnection of Distributed Components:

From design and manufacturing to electronic commerce, coordinating business activities in engineering applications requires accessing data and software from distributed sources. The Common Object Request Broker Architecture (CORBA) of the Object Management Group emerged in the 1990’s as a standard for access to distributed software components. Since that time, the standard has matured significa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011